#include<iostream>
#include<time.h>
using namespace std;


enum
{
  NORMAL,
  DEBUG,
  WARMING,
  ERROR, 
  FATAL 
};

//开放式日志


//日志一般需要的内容:日志等级 文件名 行号 时间 日志内容

inline std::ostream& log(std::string grade,std::string file_name,int line)
{
    string message;
    
    message += '[';
    message += grade;
    message += ']';

    message += '[';
    message += file_name;
    message += ']';

    message += '[';
    message +=  to_string(line);
    message += ']';

    message += '[';
    message += to_string(time(nullptr));
    message += ']';
    
    cout <<message ; //注意:这里不输出\n  将message暂存在cout的缓冲区，为的是和日志信息一起输出
    return std::cout;
}
//后续调用方式: LOG(日志等级) <<"日志信息" << "\n" ;

#define LOG(LEVEL) log(#LEVEL,__FILE__,__LINE__) 
